using BootstrapBlazorApp.Server.LLMs.function.Kimi;
using BootstrapBlazorApp.Server.LLMs.messages;
using Newtonsoft.Json;

namespace BootstrapBlazorApp.Server.LLMs.model.Kimi;

public class KimiInput
{
    [JsonProperty("model")]
    public required string Model { get; set; }

    //对应的是创建出来的Message类
    [JsonProperty("messages")]
    public List<ReturnMessage> Messages { get; set; } = new List<ReturnMessage>();
        
    [JsonProperty("temperature")]
    public double Temperature { get; set; } = 0.3; // 控制回复的随机性，默认值可以根据需要调整

    [JsonProperty("top_p")]
    public double TopP { get; set; } = 1.0; // 核采样参数
        
    // 流式响应参数
    [JsonProperty("stream")]
    public bool Stream { get; set; } = false; // 是否启用流式响应
    
    //函数工具调用
    [JsonProperty("tools", NullValueHandling = NullValueHandling.Ignore)]
    public List<KimiToolInput>? Tools { get; set; }

}
